package cn.tedu.charging.order.config;


import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * RestTemplate 配置类
 */
@Configuration
public class RestTemplateConfiguration {

    /**
     * @Bean 注解
     * 创建一个类型为 RestTemplate 的对象
     * 怎么创建呢 具体的实现 restTemplate方法中的实现  new RestTemplate()；
     * 返回值 RestTemplate 类型的对象
     * 创建后 会把这个对象 放到Spring 容器中 ，容器中就有了这个对象了
     * 放入容器后，别的在容器中的类 就可以注入 并使用这个对象了
     *
     * RestTemplate要使用负载均衡，需要被@LoadBalanced注解修饰。
     * 在用户当前的代码中，虽然注入了RestTemplate，但可能没有配置这个注解。因此，需要创建一个配置类，
     * ，这样在调用服务名称时，RestTemplate会自动进行负载均衡。
     * @return
     */
    @Bean
    @LoadBalanced //启用负载均衡
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

}